package com.zy.ch1.service.impl;

import com.github.pagehelper.PageHelper;
import com.zy.ch1.dao.BookMapper;
import com.zy.ch1.entity.Book;
import com.zy.ch1.service.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@Service
public class BookServiceImpl implements BookService {

    @Autowired
    private BookMapper bookMapper;
    @Override
    public List<Book> findBooks() {
        return bookMapper.selectAllBook();
    }

    /*
     * 这个方法中用到了我们开头配置依赖的分页插件pagehelper
     * 很简单，只需要在service层传入参数，然后将参数传递给一个插件的一个静态方法即可；
     * pageNum 开始页数
     * pageSize 每页显示的数据条数
     * */
    @Override
    public List<Book> selectBooks(Map<String,Object> map, int pageNum, int pageSize) {
        //将参数传给这个方法就可以实现物理分页了，非常简单。
        PageHelper.startPage(pageNum, pageSize);
        return bookMapper.selectBooks(map);
    }

    @Override
    public int deleteBookByBookName(String bookName) {
        return bookMapper.deleteBookByBookName(bookName);
    }

    @Override
    public int updateBook(Map<String, Object> map) {
        return bookMapper.updateBook(map);
    }

    @Override
    public int insertBook(Book book) {
        return bookMapper.insertBook(book);
    }
}
